/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package rosic.WebServices;

import java.util.Vector;
import rosic.GoogleMaps.RutaMapa;

/**
 *
 * @author David
 */
public interface IServiciosWEB {
    /**
     * da el nivel de iseguridad según la ubicación de la persona
     * @param latitud latidud actual del usuario
     * @param longitud longitud actual del usuario
     * @return el nivel puede ser Alto, Medio, o Bajo
     */
    public String darNivelInseguridad(double latitud, double longitud);
    /**
     * da el bario en el que el usuario se encuentra
     * @param latitud latidud actual del usuario
     * @param longitud longitud actual del usuario
     * @return
     */
    public String darBarrio(double latitud, double longitud);
    /**
     * da una lista con los delitos encontrados en el lugar cercano al usuario
     * @param latitud latitud latidud actual del usuario
     * @param longitud latitud latidud actual del usuario
     * @return
     */
    public String[] darListaDelitos(double latitud, double longitud);
    /**
     * da las vias posbiles para ver el estado del trafico en ellas
     * @return
     */
    public String[] darViasPosbiles();
    /**
     * da los puntos para pintar una ruta en el mapa de google maps
     * contiene las coordenadas de cada punto y el estado de la ruta
     * @param viaEscogida
     * @return
     */
    public RutaMapa darRuta(String viaEscogida);
    /**
     * da todos los marcadores registrados al rededor de unas coordenadas particulares
     * @param latitud latitud actual del usuario
     * @param longitud longitud actual del ususario
     * @return un vector con todos los marcadores registrados
     */
    public Vector darMarcadoresTodos(double latitud, double longitud);

     /**
     * da los marcadores según el tipo de delito al rededor de unas coordenadas particulares
     * @param latitud latitud actual del usuario
     * @param longitud longitud actual del ususario
     * @return un vector con los marcadores registrados según el tipo de delito
     */
    public Vector darMarcadoresPorTipo(double latitud, double longitud, String tipoDelito);
    /**
     * da los delitos posbiles que puede ver el usuario
     * @return
     */
    public String[] darDelitosPosibles();
    /**
     * autentica a un usuario según su login y su password
     * @param login
     * @param password
     * @return EXITO si se autentica correctamente, NO_EXITO si no se autentica. 
     */
    public String autenticar(String login, String password);
    /**
     * da los detinos por defecto que la persona ha ingresado
     * @param login login del usuario 
     * @return arreglo con los destnos, si no encuentra ninguno, en 
     * la primera posicion se retorna NO
     */
    public String[] darDestinosMisDestinos(String login);
    /**
     * da una ruta segura segun el destino preferido del usuario
     * @param destino
     * @return
     */
    public RutaMapa darRutaSegura(String destino, double latitudOrigen, double longitudOrigen);
    /**
     * una ruta seura segun las coordenaras de origen y destino dadas
     * @param latitud
     * @param longitud
     * @param latitudDestino
     * @param LongitudDestino
     * @return
     */
    public RutaMapa darRutaSegura(double latitud, double longitud, double latitudDestino, double LongitudDestino);
}
